package com.dc.designPattern._4_builder.impl.improve;

/**
 * Description: 建造者_抽象建造者
 * @author: gdc
 * @date: 2021/3/9
 * @version 1.0
 */
public abstract class HouseBuilder {

    /**
     * 建造产品，组合关系
     */
    private House house = new House();

    /**
     * 建造流程【抽象方法】，打地基
     */
    public abstract void buildBasic();

    /**
     * 建造流程【抽象方法】，砌墙
     */
    public abstract void buildWalls();

    /**
     * 建造流程【抽象方法】，封顶
     */
    public abstract void roofed();

    /**
     * 产品建造完成，进行返回
     * @return          产品
     */
    public House build(){
        return house;
    }
}
